<?php
/**
 *
 * @author
 *
 *@description :  cette classe permet de lire l'ensemble de donnée de configuration de la base apartir d'un fichier XML 
 */
include_once(dirname(__FILE__)."/cnn.config.php");

class DBConfig{
	///nom  de fichier XML de configuration
	private $_fileconfig;
	///adresse serveur de base de donnée
	private $_host;
	///utilisateur de la base de donnée
	private $_user;
	///mot de passe de la base de donnée associé a l'utilisateur
	private $_pwd;
	///base de donnée a connecté
	private $_bd;
	///port de la base de donnée a connecté par defaut 3306 
	private $_port;
	/**
	 * 
	 * getter de l'ensemble de donnée de la connexion
	 */
	public function get_host(){return $this->_host;}
	public function get_user(){return $this->_user;}
	public function get_pwd(){return $this->_pwd;}
	public function get_bd(){return $this->_bd;}
	public function get_port(){return $this->_port;}
	
	public function set_host($phost){$this->_host=$phost;}
	public function set_user($puser){$this->_user=$puser;}
	public function set_pwd($ppwd){$this->_pwd=$ppwd;}
	public function set_bd($pbd){$this->_bd=$pbd;}
	public function set_port($pport){$this->_port=$pport;}
	
	
	public function __construct($pfileconfig=""){
		$this->_port="3306";
		$this->_fileconfig="";
		if($pfileconfig!=""){
			//$this->_fileconfig=$pfileconfig;
		}else{
			//$this->_fileconfig=dirname(__FILE__)."/config_xml/db.config.xml";
			
		}	
		$this->readconfig();
		
	}

	public function readconfig(){
		if(!empty($this->_fileconfig)){
			$conf =  simplexml_load_file($this->_fileconfig);
			$this->_host=$conf->DataBase->host;
			$this->_bd=$conf->DataBase->db;
			$this->_pwd=$conf->DataBase->pwd;
			$this->_user=$conf->DataBase->user;
			if(isset($conf->DataBase->port) && !empty($conf->DataBase->port)){
				$this->_port=$conf->DataBase->port;
			}else{
				$this->_port="3306";
			}
		}else{
			$this->_host=_HOST_;
			$this->_bd=_DBNAME_;
			$this->_pwd=_PWD_;
			$this->_user=_USER_;
			$port=_PORT_;
			if(!empty($port)){$this->_port=_PORT_;}
			
			
		}
	}
	
}


?>